package cn.silver.module.system.domain;

import cn.silver.framework.mybatis.annotation.Table;
import cn.silver.framework.mybatis.domain.BusEntity;
import cn.silver.module.system.enums.UserSexEnums;
import cn.silver.module.system.enums.UserStatusEnums;
import cn.silver.module.system.enums.UserTypeEnums;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 用户对象 sys_user
 *
 * @author Silver Zhou
 */

@Data
@NoArgsConstructor
@Table(name = "sys_user")
@EqualsAndHashCode(callSuper = true)
@Schema(name = "SysUser", title = "用户数据对象")
public class SysUser extends BusEntity {

    /**
     * 用户账号
     */
    private String code;

    /**
     * 用户昵称
     */
    private String name;

    /**
     * 用户类型（sys_user系统用户）
     */
    private String type;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 用户性别
     */
    private String sex;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 密码
     */
    private String password;

    /**
     * 帐号状态（0正常 1停用）
     */
    private String status;

    public static SysUser getSysadmin() {
        SysUser admin = new SysUser();
        admin.setCode("sysadmin");
        admin.setName("超级管理员");
        admin.setType(UserTypeEnums.DEVOPE_USER.getCode());
        admin.setMobile("18000000000");
        admin.setSex(UserSexEnums.OTHNER.getCode());
        admin.setEmail("sysadmin@139.com");
        admin.setStatus(UserStatusEnums.NORMAL.getCode());
        return admin;
    }
}
